﻿Imports System.Data
Imports System.Data.OleDb
Imports geraLaudosAutomatico.conexao
Imports System.Text

Public Class funcionario_reciboDAO


    Dim sql As New StringBuilder
    Dim objConn As New conexao
    Dim i As Integer
    Dim secaoBO As New secaoBO
    Dim funcionario_recibo As New funcionario_reciboVO



    Public Function getFuncionarioRecibos() As Generic.List(Of funcionario_reciboVO)

        sql.Clear()
        sql.Append("SELECT *FROM secao INNER JOIN funcionario_recibo ON secao.id_secao = funcionario_recibo.id_secao WHERE FUNCIONARIO_RECIBO.STATUS=TRUE ORDER BY NOME")
        Dim oReader As OleDbDataReader
        Dim lista As New Generic.List(Of funcionario_reciboVO)


        Try
            Dim oComando As New OleDbCommand(sql.ToString, objConn.abreConexao)

            oReader = oComando.ExecuteReader

            While oReader.Read

                funcionario_recibo = New funcionario_reciboVO
                funcionario_recibo.ID_FUNCIONARIO = IIf(IsDBNull(oReader("ID_FUNCIONARIO")), Nothing, oReader("ID_FUNCIONARIO"))
                funcionario_recibo.NOME = IIf(IsDBNull(oReader("NOME")), Nothing, oReader("NOME"))
                funcionario_recibo.DOCUMENTO = IIf(IsDBNull(oReader("DOCUMENTO")), Nothing, oReader("DOCUMENTO"))
                funcionario_recibo.SECAO = IIf(IsDBNull(oReader("SECAO.ID_SECAO")), Nothing, New secaoVO With {.ID_SECAO = oReader("SECAO.ID_SECAO"), .DESC_SECAO = oReader("DESC_SECAO"), .STATUS = oReader("SECAO.STATUS")})
                funcionario_recibo.STATUS = IIf(IsDBNull(oReader("funcionario_recibo.STATUS")), Nothing, oReader("funcionario_recibo.STATUS"))
                funcionario_recibo.CRIACAO = IIf(IsDBNull(oReader("CRIACAO")), Nothing, oReader("CRIACAO"))
                lista.Add(funcionario_recibo)


            End While

            Return lista

        Catch ex As Exception

            Throw ex

        Finally

            objConn.fechaConexao()

        End Try

    End Function



    Public Function getFuncionarioRecibo(ByVal id_funcionario As Integer) As funcionario_reciboVO

        sql.Clear()
        sql.Append("SELECT *FROM FUNCIONARIO_RECIBO WHERE ID_FUNCIONARIO=" & id_funcionario)
        Dim oReader As OleDbDataReader



        Try
            Dim oComando As New OleDbCommand(sql.ToString, objConn.abreConexao)

            oReader = oComando.ExecuteReader

            While oReader.Read

                funcionario_recibo = New funcionario_reciboVO
                funcionario_recibo.ID_FUNCIONARIO = IIf(IsDBNull(oReader("ID_FUNCIONARIO")), Nothing, oReader("ID_FUNCIONARIO"))
                funcionario_recibo.NOME = IIf(IsDBNull(oReader("NOME")), Nothing, oReader("NOME"))
                funcionario_recibo.DOCUMENTO = IIf(IsDBNull(oReader("DOCUMENTO")), Nothing, oReader("DOCUMENTO"))
                funcionario_recibo.SECAO = IIf(IsDBNull(oReader("ID_SECAO")), Nothing, secaoBO.getSecao(oReader("ID_SECAO")))
                funcionario_recibo.STATUS = IIf(IsDBNull(oReader("STATUS")), Nothing, oReader("STATUS"))
                funcionario_recibo.CRIACAO = IIf(IsDBNull(oReader("CRIACAO")), Nothing, oReader("CRIACAO"))

            End While

            Return funcionario_recibo

        Catch ex As Exception

            Throw ex

        Finally

            objConn.fechaConexao()

        End Try

    End Function

End Class
